/*编程题 编程找出 1000 以内的所有完数并打印出来。 所谓完数就是一个数恰好等于它的因子之和，如：6=1＋2＋3
 */

public class WanShuTest {
    public static void main(String[] args){
        //1 对1000循环
        int sum;
        System.out.println("1000以内的完数为： ");
        for(int i=1; i <=1000; i++){
            //2 对所有比它小的数循环，是否能被比它小的数整除,并把所有因子求和
            sum = 0;
            for(int j=1;j<i;j++){
                if(i%j==0){
                    sum += j;
                }
            }
            //3如果因子之和=本身，就打印
            if (sum == i){
                System.out.println(i);
            }
        }
    }
}
